博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JFinal项目搭建
阅读量:5305 次
发布时间:2019-06-14

本文共 3659 字,大约阅读时间需要 12 分钟。

1、Myeclipse中 新建 Dynamic Web Project  

 

 

 

 

导入jar包

2、配置web.xml

JFinalDemo
jfinal
com.jfinal.core.JFinalFilter
configClass
com.demo.common.CommonConfig
jfinal
/*
index.jsp

3、配置文件config.properties

jdbcUrl = jdbc:mysql://localhost:3306/jfinal?useUnicode=true&characterEncoding=utf-8user = rootpassword =devMode =true

4、配置jfinal启动文件

package com.demo.common;import com.demo.common.controller.BlogController;public class CommonConfig extends JFinalConfig {	@Override	public void configConstant(Constants me) {		loadPropertyFile("config.properties");		me.setDevMode(getPropertyToBoolean("devMode",false));		me.setViewType(ViewType.JSP);		me.setBaseViewPath("/WEB-INF/view");	}	@Override	public void configRoute(Routes me) {		me.add("/blog", BlogController.class);		me.add("/hello", HelloController.class);	}	@Override	public void configPlugin(Plugins me) {		C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password"));		me.add(c3p0Plugin);		ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);		me.add(arp);		arp.addMapping("blog",Blog.class);	}	@Override	public void configInterceptor(Interceptors me) {		// TODO Auto-generated method stub	}	@Override	public void configHandler(Handlers me) {		// TODO Auto-generated method stub	}	/**	 * @param args	 */	public static void main(String[] args) {		// TODO Auto-generated method stub		JFinal.start("WebRoot", 81, "/", 5);	}}

5、控制器

package com.demo.common.controller;import java.util.Date;public class BlogController extends Controller {	public void index(){		setAttr("blogs", Blog.me.find("select * from blog"));		render("index.jsp");	}	public void add(){		String dosubmit = getPara("dosbumit");		if(dosubmit==null || dosubmit.length()<=0){			render("add.jsp");		}else{			Blog blog = getModel(Blog.class,"blog");			blog.set("time", new Date());			blog.save();			index();		}	}	public void del(){		Integer id = getParaToInt(0);		if(id==null || id<=0){			renderText("数据异常");			return;		}		Boolean flag = Blog.me.deleteById(id);		if(!flag){			renderText("数据已删除");			return;		}		index();	}	public void update(){		String dosubmit = getPara("dosbumit");		if(dosubmit==null || dosubmit.length()<=0){			Integer id = getParaToInt(0);			if(id==null || id<=0){				renderText("数据异常");				return;			}			setAttr("blog", Blog.me.findById(id));			render("update.jsp");		}else{			Blog blog = getModel(Blog.class,"blog");			blog.update();			index();		}	}}

6、模型

package com.demo.common.model;import com.jfinal.plugin.activerecord.Model;public class Blog extends Model
{ public final static Blog me = new Blog();}

7、视图

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              博客列表    
添加博客
ID 标题 内容 时间 操作
${b.id } ${b.title } ${b.content } ${b.time } 删除 | 编辑

代码:

转载于:https://www.cnblogs.com/mracale/p/7902655.html

你可能感兴趣的文章
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>
tensorflow的graph和session
查看>>
JavaScript动画打开半透明提示层
查看>>
Mybatis生成resulteMap时的注意事项
查看>>
jquery-jqzoom 插件 用例
查看>>
1007. Maximum Subsequence Sum (25)
查看>>
iframe的父子层跨域 用了百度的postMessage()方法
查看>>
图片生成缩略图
查看>>
动态规划 例子与复杂度
查看>>
查看oracle数据库的连接数以及用户
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>
三.野指针和free
查看>>
activemq5.14+zookeeper3.4.9实现高可用
查看>>
TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
查看>>
简单【用户输入验证】
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
CS0103: The name ‘Scripts’ does not exist in the current context解决方法
查看>>
20130330java基础学习笔记-语句_for循环嵌套练习2
查看>>